<?php defined('SYSPATH') or die('No direct script access.');

/**
 *Класс для работы со списком желаний
 *
 * @author knizera
 * @author Lukyanets M.V. <3ch023a@gmail.com>
 */
class Model_Wishlist
{
    protected $api; 
    
    public function __construct($config = null)
    {
        if (!is_object($config))
            $config = Kohana::$config->load('site');
        $this->api = Model_Api::factory($config);
    }
    
    public function add($asin, $user)
    {           
        $sql = 'SELECT w.id as a FROM `' . TABLE_PREFIX 
                . 'wishlists` w WHERE w.asin="'
                . mysql_real_escape_string($asin)
                . '" AND user_id=' . $user; 
        if(DB::query(Database::SELECT, $sql)->execute()->get('a', 'can') != 'can')
            return;
        // извлекаем инфо о товаре (мелкая картинка, тайтл, цена)
        $item = $this->api->getItemInfo($asin);
        // добавляем товар в вишлист юзера
        DB::insert('wishlists', array('asin', 'user_id', 'title', 'src', 'price'))
            ->values(  array($item['asin'], $user, $item['title'],
                    $item['src'], $item['price']))->execute();
    }
    
    public function getWishlist($user)
    {
        // извлекаем все асины товаров из вишлиста юзера
        $item_asins = array();
        $sql = 'SELECT w.* FROM `' . TABLE_PREFIX . 'wishlists` w
                    WHERE w.user_id=' . $user;       
        foreach (DB::query(Database::SELECT, $sql)->execute()->as_array() as $i => $w)
        {
            $item_asins[$i]['ASIN'] = $w['asin'];
            $item_asins[$i]['Title'] = $w['title'];
            $item_asins[$i]['Price'] = $w['price'];
            $item_asins[$i]['src'] = $w['src'];
        }
        return $item_asins;
    }
    
    public function remove($asin, $user)
    {
        $user = Auth::instance()->get_user();
        // извлекаем все асины товаров из вишлиста юзера
        DB::delete('wishlists')->where('asin','=', $asin)
                ->and_where('user_id','=', $user)->execute();
     }
 }